<html>
<head>
	<title>Untitled</title>
<link rel="StyleSheet" type="text/css" href="style.css">
</head>

<body>
<p class="mainhead"><a name="Top">Compiling the Demo Program</a></p>
  
<p class="heading"><a name="Compiling"><nobr>Compiling The Demo Program</nobr></a></p> 
 
  <p>To compile your own version of the FrameBrowzerId program for study or modification, 
     the following is required:
  
  <ol>
   <li>The source code for the demo program which is included in this package.<p>
   
   <li>If you have not already done so, download and install the <b>THtmlViewer</b>, <b>TFrameViewer</b>, 
    and <b>TFrameBrowser</b> HTML Components.  This package may be obtained from 
    <a href="http://www.pbear.com/" target="_blank"><code>http://www.pbear.com/</code></a>.
    <p>
 
   <li>This demo uses the Internet Direct Components
   (Indy) <B>Version 9</b>. Versions 8 or 10 of Indy are not suitable for
   this demo.
   
   <p>Indy Version 9 comes with both Delphi 7, Delphi 2005, and Delphi 2006.  For other
   Delphi versions, Indy Version 9
   may be downloaded (no charge) from
    <a href="http://www.nevrona.com/Indy/" target="_blank">http://www.nevrona.com/Indy/</a>.
   
    
    <p>
   <li>For the optional Secure Socket Layer (SSL) support, the OpenSourceSSL DLLs should be downloaded from
      <a href="http://indy.fulgan.com/SSL/" target="_blank">http://indy.fulgan.com/SSL/</a>.
      Be sure and download the 0.9.6g version as testing has been done with that
      version. These DLLs
      should be placed in the System32 directory.
</ol>

<p class="heading"><a name="Compiling"><nobr>Compile Time Options</nobr></a></p> 

  <p>Depending on which options are selected, the following <B>Defines</B> should be entered
     in the Project|Options dialog, Directories/Conditionals tab, Conditional Defines 
     section:
  </p>
  
  <table width="80%" cellspacing="2" cellpadding="2" border="0">
  <tr> 
      <th width="2%"></th>
      <th class="dorange" valign="top" align="left" width="100">UseSSL</th>
      <td valign="top" align="left">Enables the OpenSourceSSL support (<B>https</B>).</td>
  </tr>
  <tr>
      <th width="2%"></th>
      <th class="dorange" valign="top" align="left" width="100">Quirk</th>
      <td valign="top" align="left"><B>Quirk</B> makes changes which simulate some of the
  quirks of other browsers.  HTML found online sometimes expects these quirks.
</td>
  </tr>
  </table>

<p class="heading"><a name="Compiling"><nobr>Debugging</nobr></a></p> 

<p>Both Indy and TFrameBrowser use exception handling as part of normal coding practice
   so exceptions don't necessarily indicate a problem.  However, exceptions can be 
   quite disconcerting when running the application from the IDE.  This is especially true when 
   Socket timeout exceptions start cascading after the IDE stops for another exception.  For this 
   reason, it's a good idea to turn off Delphi's "Break on Exception" option or at 
   least specify that the following exceptions be ignored:
<blockquote>EConvertError<br>
   EIdConnClosedGracefully<br>EIdSocketError<br>EIdHTTPProtocolException
</blockquote>
<p>See <B>Tools|Debugger Options|Language Exceptions</B> for making these changes.

  <p>&nbsp;</p> 
</body>
</html>
